
abstract class ColumnType<T> {
    String name;
    String? comment;
    T? defaultValue;
    bool? notNull;
    bool? unique;
    bool? primaryKey;

    String get type;

    ColumnType(this.name, {
        this.defaultValue,
        this.notNull = false,
        this.unique = false,
        this.primaryKey = false,
        this.comment
    });
}